home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Tampa Bay Amiga Group
/
TBAG - Tampa Bay Amiga Group's Disk of the Month #61 (1991)(Merlin's Software - Amiganuts United)(PD).zip
/
TBAG - Tampa Bay Amiga Group's Disk of the Month #61 (1991)(Merlin's Software - Amiganuts United)(PD).adf
/
Docs
/
TRexx.Docs
< prev
next >
Wrap
Text File
|
1991-10-25
|
11KB
|
288 lines
T R E X X
Video Toaster ARexx Script Writer
(complete with an Intuition interface)
Copyright 1991 by Kurris (a.k.a. Keith Williams)
and
Kludge Code Software
"If it's a good program, then it MUST be a Kludge!"
Version 1.0
8/21/91
(Refer to TRexx_v1.XX.readme for update information)
- The Low-Down -
This program exists because I had a need to create ARexx scripts to control my
Video Toaster, yet I dreaded having to load up Cygnus Ed and painstakingly
craft them each time.
It occured to me that a nice Intuition interface that looked JUST LIKE the
Toaster's interface would be the optimal solution to my dilemma.
Thus TRexx was born.
- Specifics -
Must of TRexx is pretty straightforward: You click on things and Toaster
ARexx commands are generated. These commands are invisible, but their English
equivalent is displayed in a list on the left side of the screen. This list
is scrollable and editable.
To edit an item, just click on it (it will turn blue) and then click on the
icon that represents what you want to change the command to.
To insert, highlight an item and click on "Insert." This will insert a line
called "** CHANGE ME **", which can then be changed in the same fashion as
just described above.
To delete, select any number of lines and click on "Delete." The highlighted
lines will be removed.
TRexx has several variables that can be initialized through the TOOLTYPES of
its icon. These variables can NOT be set in any other way, so I suggest that
any diehard CLI users break down and pick up the mouse JUST THIS ONCE.
The variables are:
TOASTER - the path where your Toaster directory can be found
(ex. "SYS:Toaster/" No quotes, but, unless it is an
assign, it MUST end in a "/").
FRAMESTORE - the path for your FrameStore directory
(same convention as with TOASTER).
WAIT - The name of the Wait program that you want TRexx to
call. KWait is supplied. See note below.
USER - The default user command. See note below.
You don't HAVE to use these variables, but it makes things easier, since they
allow the file requester to open in the proper directories and such.
- Exiting The Program -
The only way to exit TRexx is to press the Esc key. There are no menus and I
didn't have room for a "Quit" gadget, so...
- Special Notes -
The scripts that TRexx generates include code to start up the Switcher if it
is not already running. This means that all scripts should be executed from
within the Toaster directory (since they rely on some programs that New Tek
includes with their Toaster software).
KWait is a small program that I wrote to give acurate time delays from within
an ARexx script. It takes arguments in seconds (SS) or minutes and seconds
(MM:SS). If you've got something that you like better, then change the
TOOLTYPE variable WAIT to the name of your favourite Wait program. Don't
worry, I don't be offended (sniff).
The USER variable was included to account for things that I haven't
anticipated needing in the near future. It allows you to specify a Toaster
ARexx command that TRexx doesn't know about and have it included in your
scripts. This capability also comes in handy when loading a script that has
things in it that go beyond the scope of TRexx, since they will be read in as
"USER COMMANDS," and can thus be modified.
- Copyright Notes -
I know, I know, but I didn't MEAN to. Yes, I've stolen New Tek's Toaster
interface (or at least a good portion of it), and I'm very sorry, but I
couldn't think of a better way of implementing this program. Since TRexx
generates scripts that can ONLY be used with the Toaster, then why should I
(or anyone) be forced to learn a new interface, just to do things that come
naturally to the Toaster?
I hope that New Tek doesn't mind (I'm not SELLING this thing, after all). I
only did it for ease of use and quick recognition of the elements involved.
Don't sue me...PLEEEEEEEEEEEASE!!!
The only thing that I've copyrighted here is the underlying code that handles
silly things like lists, input handling and junk like that. The "look and
feel" is all New Tek's (and what a fine job they did, too).
This program has been released by myself (the author) into the Amiga Public
Domain as FREEWARE. No donations or contributions are asked for or expected
in return for using this software. This program may not be sold with any
commercial application without the prior written consent of both the author
and New Tek, Inc.
This copyright notice should be left intact with the distribution of this
software.
- Disclaimer -
I didn't do it, it's not my fault. After all, I didn't hold a gun to your
head and say: "Here! USE this software and LIKE it!!" And, after all, it WAS
free, right?
- Contact Information -
For more information or suggestions, contact me at
Keith Williams
517 136th Apt. 2
Holland, MI 49424
(616)786-0740
Version 1.02 Update
8/28/91
- What's new? -
Some people hate the WorkBench and rely solely on the CLI. Some people are
just the opposite. ARexx, by definition, is a CLI-based language, but that
doesn't stop people from WISHING that they could run their ARexx (and, as a
result, their TRexx) scripts from the WorkBench.
Thus is born this version.
I'm not about to say that this is the most elegant solution to the problem,
but if DOES work and makes things a LOT easier. I've added a new TOOLTYPE to
TRexx's icon, it is:
ICONX=YES
If ICONX=YES (or ICONX=JustAboutAnything) appears in TRexx's icon's TOOLTYPE
list, TRexx will create an IconX script (with icon) that will allow you to run
your TRexx script from the WorkBench.
In order for this to work, however, the ARexx program Rx MUST be in your C:
directory (WorkBench programs don't inherit a PATH so they can only look in
your C: directory [at least with the version of IconX that I'm using]). I
don't think that this is too much to ask (not really).
This means that, with ICONX set, TRexx will create three files: the ARexx
script (WhatEver.rexx), an IconX script (WhatEver.TRexx) and the IconX icon
(WhatEver.TRexx.info). The IconX script (WhatEver.TRexx) will contain three
commands: "CD TOASTER_DIR", "Run RX PATH:WhatEver.rexx" and "EndCLI >NIL:."
This means that you can drag the IconX file (WhatEver.TRexx) to any place on
any device and it will STILL run your script correctly. Of course, if you
move the ARexx script (WhatEver.rexx) to some other location, the IconX script
will no longer work.
One way to avoid this is to, of course, not move the ARexx script file
(WhatEver.rexx). Another solution is to move it by reloading it into TRexx
and resaving it in the new place (which will effectively create a new IconX
script with the proper paths).
Oh, the TOASTER_DIR is derived from the TOOLTYPE TOASTER in TRexx's icon, by
the way (in case you were wondering).
The reason for Run'ing Rx is because of the fact that if the Toaster isn't
running at the start of the script the "TRexx-IconX" output window will not go
away until the Switcher is shutdown. By Run'ing Rx the output window goes
away immediately (which is nice, since it serves no purpose).
And that just about covers it. I HOPE that I won't have too many more changes
to make, but one never really knows, does one?
-Keith
Version 1.03 Update
8/29/91
- What's new? -
What? ANOTHER one?!!? Yeah, yeah, I know, but this one was really needed,
trust me.
Anyone using earlier versions of TRexx may have noticed a slight (or not so
slight on a 68000 machine) delay in screen updates when selecting gadgets. I
had known that this was annoying, but didn't know just HOW annoying, until I
ran TRexx on a bare bones 2000. Yeck! So I tweeked around a bit and was able
to speed up the response time to almost nil.
I also fixed a bug that trashed the screen display when clearing scripts (it
was nothing serious, but it made things look very strange).
Another TOOLTYPE has been added. It is:
SCRIPTS
and is used to define the directory where TRexx should save the scripts that
it generates (ex. "SCRIPTS=SYS:Toaster/TRexx_Scripts/"). This option should
only be used if you are also using the ICONX option, since ARexx scripts
should be executed from within the Toaster directory and nowhere else (ICONX,
as you may recall, gives you a way to get around this). If SCRIPTS is not
set, TRexx will default to the Toaster directory.
The only other thing I changed was the file requester. I think that a scaled
down version of my file requester is all that is really needed for this
program, so I put this one in instead of my full blown one (at a savings of
ten whole K off of the executable). You decide if it was really worth it.
And that's about it for this version. Hope you like it!
-Keith
Version 1.05 Update
9/3/91
- What's new? -
There were too many things being done to v1.04, so I decided that this latest
fix merited a new version number (even though I never released v1.04 to
anyone).
First off, some keyboard commands have been added. They are:
Space Auto
Return Take
[ Turn on Key on Black
] Turn on Key on White
O Turn off Key mode
L Load a TRexx Script
S Save/Generate a TRexx Script
I Insert
D Delete
C Clear
W Wait
More may be on the way, but I doubt it (yeah, right).
Since its inception, there has been a bug in TRexx that caused the Toaster
Switcher to crash. This occurred when TRexx was called up and then exited
BEFORE the Switcher was run. I searched and searched for where the problem
might be, but could never find it (and since it only happened in that one
instance, I wasn't overly concerned). It didn't help matters any that this
bug did NOT occur at all under KickStart 2.0.
But today I had the Toaster lock up on exit as well as call up. That annoyed
me, so I took another look at it. The only part of my code that I had not
previously modified (for testing purposes) were the Open and CloseLibrary()
calls, since I ASSUMED that they should work fine (being system calls and
such).
Well, so much for that. I was opening the MathBase ROM library, never using
it, and then closing it. For some reason, this seems to have been the problem
(which, I guess, explains why it never crashed under 2.0: since 2.0 supplies
a new MathBase).
Now the program works fine, all the time, which is very reassuring to me (and
should be to anyone using it). Have fun, and I'll TRY to go more than two
days without updating this stupid thing!
-Keith